<?php
require_once("{$CfgPara->root}/model/user.m.php");
if ((isset($InputData["user_id"]) || isset($InputData['user_field_id'])) &&
    !isset($InputData['user_field_manage'])
) {
    if (isset($InputData['user_id']) && $InputData['user_id'] == 0) {
        if (isset ($_SESSION['user_id']))
            $InputData['user_id'] = $_SESSION['user_id'];
        else {
            echo '请先登陆';
            goto page_end;
        }
    }
    $myUser = new user_m($CfgPara->database);
    //获取用户本领首页
    if (!isset($InputData['user_field_id'])) {
        $userMsg = $myUser->user_msg('Id', $InputData["user_id"]);
        if (is_string($userMsg)) {
            echo $userMsg;
            goto page_end;
        }
        $userField = $myUser->user_field_list($InputData["user_id"]);
        if (is_array($userField)) {
            require("{$viewRoot}user_field{$viewEx}");
            // 仅移动端需要右侧栏菜单
            if ($isTablet === FALSE)
                require("{$CfgPara->root}/view/menu_r_user_field.app.v.php");
        } else {
            echo $userField;
            goto page_end;
        }
    } //获取单个本领的详细页面
    else {
        // 20170531 web版本也需要当前用户信息
        if ($isTablet === true) {
            $userMsg = $myUser->user_msg('Id', $InputData["user_id"]);
            if (is_string($userMsg)) {
                echo $userMsg;
                goto page_end;
            }
        }
        $worksMsg = array();
        $userField = $myUser->user_field_msg($InputData['user_field_id'], $worksMsg, 1);
        if (is_string($userField)) {
            echo $userField;
            goto page_end;
        }
        require("{$viewRoot}user_field_msg{$viewEx}");
    }
} elseif (isset($_SESSION['user_id']) && isset($InputData['user_field_manage'])) {
    $myUser = new user_m($CfgPara->database);
    // 获取本领管理页面首页
    if ($InputData['user_field_manage'] == 1) {
        $userFields = $myUser->user_field_list($_SESSION['user_id'], 0);
        if ($isTablet === FALSE) {
            $tittleText = '本领分类管理';
            $closeScript = 'act_back()'; //"goto_user_field({$_SESSION['user_id']},1)";
            require("{$viewRoot}tittle_close_bar_blue{$viewEx}");
        } else {
            $tittleText = '当前位置：SNEAKER CUSTOM / ' . $_SESSION['user_name'] . ' 的个人主页  /' . ' 本领分类管理';
            require("{$viewRoot}tittle_back_bar{$viewEx}");
        }
        require("{$viewRoot}user_field_pay_msg_bar{$viewEx}");
        $fieldManageType = 1; //进入新增本领界面
        $fieldManageType2 = 102; //将当前界面切换为删除
        if (is_array($userFields) && count($userFields) > 0) {
            require("{$viewRoot}user_field_manage_list{$viewEx}");
        } else {
            require("{$CfgPara->root}/view/warning_nocontent.app.v.php");
        }
        if ($isTablet === false) {
            require("{$viewRoot}user_field_manage_bar{$viewEx}");
            // 添加本领的删除栏 当点击删除时 直接切换界面
            $dele_mode = 1; // 1为本领的删除 2为作品的删除
            require("{$viewRoot}user_field_work_dele_bar{$viewEx}");
        }
    }

    // 本领或本领下的作品排序  
    // $InputData['order_type'] 排序类型 1本领 界面 2本领的作品 界面 11本领排序事件处理 12本领作品排序事件处理
    elseif ($InputData['user_field_manage'] == 2 && isset($InputData['order_type'])) {
        if ($InputData['order_type'] == 1) {
            $userFields = $myUser->user_field_list($_SESSION['user_id'], 0);
            require("{$viewRoot}user_field_order{$viewEx}");
        } elseif ($InputData['order_type'] == 2 && isset ($InputData['user_field_id'])) {
            $workList = $myUser->user_work_list(3, $InputData['user_field_id']);
            require("{$viewRoot}user_field_work_order{$viewEx}");
        } elseif ($InputData['order_type'] == 11 && isset ($InputData['ids'])) {
            $result = $myUser->user_field_order($InputData['ids']);
            echo $result;
            goto page_end;
        } elseif ($InputData['order_type'] == 12 &&
            isset ($InputData['ids']) &&
            isset ($InputData['user_field_id'])
        ) {
            $result = $myUser->user_field_work_order($InputData['user_field_id'], $InputData['ids']);
            echo $result;
            goto page_end;
        } else {
            echo '本领的排序类型错误';
            goto page_end;
        }
    } //本领或本领下的作品添加/编辑 界面
    elseif ($InputData['user_field_manage'] == 3 && isset($InputData['add_type'])) {
        require_once("{$CfgPara->root}/model/work.m.php");
        if ($InputData['add_type'] == 1 || $InputData['add_type'] == 11) {
            if ($InputData['add_type'] == 1) // 1：新增本领
            {
                if ($isTablet === FALSE) {
                    $tittleText = '新增本领';
                } else {
                    $tittleText = '当前位置：SNEAKER CUSTOM / ' . $_SESSION['user_name'] . ' 的个人主页  /' . '本领管理 / 新增本领';
                }
            } else //11：编辑本领
            {
                if (isset($InputData['user_field_id'])) {
                    $workList = array();
                    $userField = $myUser->user_field_msg($InputData['user_field_id'], $workList, 0);
                    if (is_string($userField)) {
                        echo($userField);
                        goto page_end;
                    }
                }
                if ($isTablet === FALSE) {
                    $tittleText = $userField->FieldName;
                } else {
                    $tittleText = '当前位置：SNEAKER CUSTOM / ' . $_SESSION['user_name'] . ' 的个人主页  /' . '本领管理 / ' . $userField->FieldName;
                }
            }
            require("{$viewRoot}user_field_manage_edit{$viewEx}");
        } elseif ($InputData['add_type'] == 2 || $InputData['add_type'] == 12) {
            if (isset ($InputData['user_field_id'])) {
                if ($InputData['add_type'] == 2) {
                    $tittleText = '请选择要添加的作品';
                    $workList = $myUser->user_work_list(1, $InputData['user_field_id']);
                } else {
                    $tittleText = '请选择要删除的作品';
                    $workList = $myUser->user_work_list(2, $InputData['user_field_id']);
                }
                require("{$viewRoot}user_field_work_list_add{$viewEx}");
            }
        }
    } // 删除本领下的作品显示的事件处理
    elseif ($InputData['user_field_manage'] == 4 &&
        isset ($InputData['user_field_id']) &&
        isset ($InputData['ids'])
    ) {
        db_begin();
        // 检查本领是否存在 以及是否属于用户
        $fieldMsg;
        $result = $myUser->user_field_own_check(
            $InputData['user_field_id'], $_SESSION['user_id'], $fieldMsg);
        if ($result !== 1) {
            db_rollback();
            echo $result;
            goto page_end;
        }
        // 检测作品是否存在 并且检查作品是否属于用户
        $workList;
        $result = $myUser->user_field_work_check($InputData['ids'], $workList, $InputData['user_field_id']);
        if ($result !== 1) {
            echo $result;
            goto page_end;
        }
        require_once("$CfgPara->root/class/pay.class.php");
        $myPay = new CPay();
        $pay_car_count = 0;
        $work_count = 0;
        foreach ($workList as $work) {
            $result = $myUser->user_field_workdele($InputData['user_field_id'], $work->Id);
            if ($result !== 1) {
                db_rollback();
                echo $result;
                goto page_end;
            }
            // 如果此作品的PayCarId不为null 代表此作品还在购物车中尚未付费 将购物车删除
            if (isset ($work->PayCarId) && is_numeric($work->PayCarId) &&
                $work->ViewState == 0
            ) {
                $result = $myPay->pay_car_dele_one($work->PayCarId);
                if ($result !== 1) {
                    db_rollback();
                    echo $result;
                    goto page_end;
                }
                $pay_car_count++;
            } else {
                $work_count++;
            }
        }
        // 如果删除了购物车 更新购物车减少的数量
        if ($pay_car_count > 0) {
            $result = $myPay->pay_car_update_count(0, $pay_car_count);
            if ($result !== 1) {
                db_rollback();
                echo $result;
                goto page_end;
            }
        }
        if ($work_count > 0) {
            $result = $myUser->user_field_work_update_count($InputData['user_field_id'], 0, $field_count);
            if ($result !== 1) {
                db_rollback();
                echo $result;
                goto page_end;
            }
        }
        db_commit();
        echo 1;
        goto page_end;
    } // 删除本领的事件处理
    elseif ($InputData['user_field_manage'] == 5 &&
        !empty ($InputData['ids'])
    ) {
        db_begin();
        $id_array = explode(',', rtrim($InputData['ids'], ','));
        $field_count = 0;
        $pay_car_count = 0;
        require_once("$CfgPara->root/class/pay.class.php");
        $myPay = new CPay();
        $fieldMsg;
        foreach ($id_array as $field_id) {
            // 检查本领是否存在 以及是否属于用户
            $result = $myUser->user_field_own_check(
                $field_id, $_SESSION['user_id'], $fieldMsg);
            if ($result !== 1) {
                db_rollback();
                echo $result;
                goto page_end;
            }

            $result = $myUser->user_field_dele($field_id);
            if ($result !== 1) {
                db_rollback();
                echo $result;
                goto page_end;
            }

            // 删除此本领在购物车中的相关“作品添加”
            $pay_car_count2 = $myPay->pay_car_dele_works($field_id);
            if (!is_numeric($pay_car_count2)) {
                db_rollback();
                echo $pay_car_count2;
                goto page_end;
            }
            $pay_car_count = $pay_car_count + $pay_car_count2;

            // 如果此本领尚未付费 还在购物车中，也要删除
            if (isset ($fieldMsg->PayCarId) && is_numeric($fieldMsg->PayCarId) &&
                $fieldMsg->ViewState == 0
            ) {
                $result = $myPay->pay_car_dele_one($fieldMsg->PayCarId);
                if ($result !== 1) {
                    db_rollback();
                    echo $result;
                    goto page_end;
                }
                $pay_car_count++;
            } else {
                $field_count++; // 仅已经付费的本领需要更新本领数量
            }
        }

        // 如果删除了购物车 更新购物车减少的数量
        if ($pay_car_count > 0) {
            $result = $myPay->pay_car_update_count(0, $pay_car_count);
            if ($result !== 1) {
                db_rollback();
                echo $result;
                goto page_end;
            }
        }
        // 如果删除了已付费的本领数量 更新本领数量
        if ($field_count > 0) {
            $result = $myUser->user_field_update_count(0, $field_count);
            if ($result !== 1) {
                db_rollback();
                echo $result;
                goto page_end;
            }
        }
        db_commit();
        // 此处由于是直接js改变界面内容 需要反馈个购物车更新的数量
        echo $pay_car_count;
        goto page_end;
    }

    // 顶端的购物车按钮 web版将直接在左侧栏中显示
    if ($isTablet === false) {
        if (($InputData['user_field_manage'] == 1 || $InputData['user_field_manage'] == 3) &&
            (!isset ($InputData['add_type']) || ($InputData['add_type'] != 2 && $InputData['add_type'] != 12))
        ) {
            // 作品的添加删除不需要 作品的排序不需要
            // 页眉菜单按钮 调用购物车的控制器
            // 20170515 进入购物车后，结算后返回到用户本领前台页面。不同的页面进入购物车后返回的层级不同
            if ($InputData['user_field_manage'] == 1)
                $pay_car_back_level = 2; // 购物车->本领分类管理->本领前台页面
            elseif ($InputData['user_field_manage'] == 3) {
                // 可能是新增本领页面 也可能是编辑本领页面
                $pay_car_back_level = 3; // 购物车->编辑本领页面->本领分类管理->本领前台页面
            }
            $InputData['pay_car_mode'] = 100;
            require("{$CfgPara->root}/controller/user_pay_car.c.php");
        }
    }
}

page_end:;